package 设计模式.r_状态模式;

import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.log.StaticLog;

/**
 * @author caihe
 * @date 2023/3/22 14:29
 */
public class OpenElevator implements ElevatorState {
    @Override
    public void open(Elevator elevator) {
        StaticLog.info("电梯门正在打开中。。。");
        ThreadUtil.sleep(1000);
        StaticLog.info("电梯门打开完成，乘客已进出完毕电梯自动关闭，状态进行变更close");
        elevator.setState(new CloseElevator());
    }

    @Override
    public void close(Elevator elevator) {
        StaticLog.info("电梯门正在打开中。。。不能进行关闭");
    }

    @Override
    public void move(Elevator elevator) {
        StaticLog.info("电梯门正在打开中。。。不能进行移动");
    }

    @Override
    public void stop(Elevator elevator) {
        StaticLog.info("电梯门正在打开中。。。已经停止");
    }
}
